package com.myrpc.provider;

import java.util.Map;

/**
 * 存储和提供可能被远程调用的接口
 */
public interface InterfaceProvider {
    /**
     * 添加一个接口
     * @param interfaceClass 可能被远程调用的接口
     */
    @Deprecated
    void addInterface(Class<?> interfaceClass);

    /**
     * 获得存储的所有接口
     *
     * @return 所有存储的接口
     */
    Map<String, Object> getAllInterface();

    /**
     * 判断是否存在接口名称与参数相同的接口
     * @param name 目标接口的名字
     * @return 判断结果
     */
    boolean isExistByName(String name);

    /**
     * 获得接口的Bean对象
     *
     * @param name 接口名称
     * @return 接口对象
     */
    Object getInterfaceByName(String name);
}
